Operator Library: Hardware Platform
DmaToPC 오퍼레이터는 VisualApplets 앱let과 호스트 PC 간의 이미지 인터페이스입니다. DMAToPC 오퍼레이터는 앱let에서 호스트 PC로 이미지를 전송합니다. 이미지 전송은 직접 메모리 액세스(Direct Memory Access) 방식을 사용하여 수행되며, 즉 이미지 데이터가 호스트 PC 메모리에 직접 기록됩니다.
다양한 Color Format, Bit Width 및 Parallelism이 지원됩니다. 허용되는 조합은 사용하는 하드웨어 플랫폼에 따라 다릅니다.
-
imaFlex 2 Dual 100:
-
Bit Width와 Parallelism의 곱은 8의 정수 배수여야 하며 512 이하여야 합니다.
-
최대 이미지 너비와 최대 이미지 높이의 곱은 4바이트로 나누어떨어져야 합니다.
-
-
imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta:
-
Bit Width와 Parallelism의 곱은 8의 정수 배수여야 하며 256 이하여야 합니다.
-
최대 이미지 너비와 최대 이미지 높이의 곱은 4바이트로 나누어떨어져야 합니다.
-
-
microEnable 5 marathon VCLx, microEnable 5 marathon VCL, microEnable 5 marathon VCX-QP, microEnable 5 marathon VF2, and LightBridge VCL:
오퍼레이터 입력의 링크 속성은 앱let에서 지원하는 PCIe 모드에 따라 다릅니다. 지원되는 PCIe 모드는 오퍼레이터 AppletProperties의 PcieInterfaceType 파라미터에서 선택할 수 있습니다.
다양한 Color Format, Bit Width 및 Parallelism이 지원됩니다. Parallelism x Bit Width 곱의 최댓값은 8의 배수여야 하며 오퍼레이터 AppletProperties에서 선택한 PCIe 모드에 따라 다릅니다.
- Generation_1: Parallelism x Bit Width <= 64 Bit.
- Generation_2: Parallelism x Bit Width <= 128 bit
최대 이미지 너비와 최대 이미지 높이의 곱은 4바이트로 나누어떨어져야 합니다.
-
microEnable 5 ironman VD8-PoCL, microEnable 5 ironman VQ8-CXP6D (DIN 커넥터) 및 microEnable 5 ironman VQ8-CXP6B (BNC 커넥터):
-
오퍼레이터 AppletProperties의 파라미터 PcieInterfaceType이 Generation_1로 설정된 경우, Bit Width와 Parallelism의 곱은 8의 배수여야 하며 128 이하여야 합니다.
-
오퍼레이터 AppletProperties의 파라미터 PcieInterfaceType이 Generation_2로 설정된 경우, Bit Width와 Parallelism의 곱은 8의 배수여야 하며 256 이하여야 합니다.
-
![]() |
RGB가 BGR로 변환됨 |
|---|---|
|
오퍼레이터는 RGB 데이터를 BGR 데이터로 변환합니다(즉, DMA 전송 전에 R 및 B 성분이 서로 바뀜). DMA 전송 후, 이전 RGB 이미지는 PC의 RAM에서 BGR 이미지로 사용할 수 있게 됩니다. 대부분의 소프트웨어 도구가 BGR 형식을 직접 지원하므로, 이 변환은 소프트웨어 도구를 사용한 추가 처리를 용이하게 하기 위해 수행됩니다. |
| 하드웨어 플랫폼별 지원 여부 |
|---|
| imaFlex 2 Dual 100 |
| imaFlex CXP-12 Penta |
| imaFlex CXP-12 Quad |
| microEnable 5 marathon VCLx |
| microEnable 5 marathon VCL |
| microEnable 5 marathon VCX-QP |
| microEnable 5 marathon VF2 |
| LightBridge VCL |
| microEnable 5 ironman VQ8-CXP6D/-CXP6B |
| microEnable 5 ironman VD8-PoCL |
리소스
이 연산자는 하나의 VisualApplets 리소스를 사용합니다.
imaFlex 2 Dual 100:
imaFlex 2 Dual 100 플랫폼의 경우, 연산자는 DmaToHostPort 유형의 VisualApplets 리소스를 하나 사용합니다. 플랫폼에서 최대 5개의 DmaToPC 연산자를 사용할 수 있습니다. 리소스 인덱스는 엄격하게 단조 증가해야 합니다(예: 0 → 1 → 2 → 3 → 4). 첫 번째 연산자는 항상 인덱스 0을 가져야 하며, 이후 각 연산자는 다음 인덱스(+1)를 가져야 합니다. 리소스 인덱스에 누락된 부분이 없어야 하며 인덱스는 항상 0에서 시작합니다. 리소스 대화 상자에서 연산자의 리소스 인덱스를 설정하십시오. 자세한 내용은 'Allocation of Device Resources'를 참조하십시오.
imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta:
imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta 플랫폼의 경우, 연산자는 DMA 유형의 VisualApplets 리소스를 하나 사용합니다. 리소스 대화 상자에서 연산자의 리소스 인덱스를 설정하십시오. 자세한 내용은 'Allocation of Device Resources'를 참조하십시오.
| Link Parameter | Input Link I |
|---|---|
| Bit Width | 설명 참조 |
| Arithmetic | unsigned |
| Parallelism | 설명 참조 |
| Kernel Columns | 1 |
| Kernel Rows | 1 |
| Img Protocol | VALT_IMAGE2D |
| Color Format | {VAF_COLOR, VAF_GRAY} |
| Color Flavor | {FL_NONE, FL_RGB} If VAF_GRAY selected: FL_NONE; If VAF_COLOR selected: FL_RGB |
| Max. Img Width | any |
| Max. Img Height | any |
| CurrentTransferLength | ||||
|---|---|---|---|---|
| Type | dynamic read parameter | |||
| Default | ||||
| Range | [0; 2^34-1] | |||
|
이 파라미터는 처리 중인 프레임에서 이미 전송된 바이트 양을 반영합니다. 이 정보를 통해 전체 프레임이 전송되기 전에 소프트웨어 애플리케이션에서 DMA 버퍼 데이터를 분석할 수 있습니다.
|
||||
연산자 DmaToPC의 사용법은 다음 예시와 같습니다:
-
시작하기
-
그림 29, '간단한 VisualApplets 디자인'
기본 원리 - VisualApplets의 개념 이해하기
-
데이터 흐름 - VisualApplets에서 사용되는 파이프라인 구조 이해하기
-
연산자의 디바이스 리소스 할당을 학습합니다.
-
기본 가이드 - 하나의 카메라에 여러 DMA 채널 출력 사용하기.
-
RGB 컬러 평면을 세 개의 DMA 채널 출력으로 분할합니다.
-
'연산자 JPEG_Encoder를 사용한 JPEG 압축'
예시 - 연산자 JPEG_Encoder의 사용법을 보여주는 간단한 예시입니다.
-
'JPEG Color Compression Using User Library Elements'
Examples - 컬러 JPEG 압축을 위한 JPEG 사용자 라이브러리 요소의 사용법을 보여주는 간단한 예제입니다.
-
Examples - microEnable 4 및 5 플랫폼용으로 지원이 중단된 JPEG_Encoder_Gray 오퍼레이터의 사용법을 보여주는 간단한 예제입니다.
-
Examples - imaFlex 플랫폼의 보조 프로세서(coprocessor) 기능을 보여줍니다. 예시로 Median Filter가 계산됩니다.
-
'Co-Processor Large Filter Calculation'
Examples - imaFlex 플랫폼의 보조 프로세서 기능을 보여줍니다. 예시로 대형 필터 커널이 계산됩니다.
-
Example - 하드웨어에서 디자인 내부 데이터 흐름 제어를 디버깅하고 가능한 보정을 수행하기 위한 예제입니다.
-
예시 - 고속 및 고견고성 레이저 라인 감지 알고리즘. 이 알고리즘은 서브픽셀 해상도 결과를 얻기 위해 무게 중심(center of gravity) 좌표를 결정합니다.

![[참고]](../common/images/admon/note.png)
이전

